#ifndef STDAFX_H
#define STDAFX_H
#include <cstdlib>
#include <iostream>
#include <cxcore.h>  
#include <highgui.h> 
#include <cv.h>  
#include <queue>
#include <vector>
using namespace std;

struct point{
	int x;
	int y;

	point(int newx, int newy){
		x = newx;
		y = newy;
	}

	void set(int newx, int newy){
		x = newx;
		y = newy;
	}
};

struct  Nodes{
	point** list;
	int dist[5];
	int num;
};

extern queue<point*>tipList;
extern IplImage* rawImage;
extern IplImage* binaryImage;
extern IplImage* skinImage;
extern IplImage* structureImage;
extern int THRESHOLD;
extern double AREA_RATIO;
extern bool* edgeHash;
extern bool* tipHash;
extern int MODEL_HEIGHT;
extern int MODEL_WIDTH;
extern int MERGE_HEIGHT;
extern int MERGE_WIDTH;
extern int CENTERX;
extern int CENTERY;
extern vector<Nodes*> connectionList;
#define IMG(p,h,w) (*(p->imageData+(h)*(p->widthStep)+(w)))
 

#endif
//#define DEBUG_MODE